From: Aaron S. Hawley Date: Fri, 16 Mar 2012 07:21:23 +0000 (-0700) Subject: tar-mode buffer-read-only fix X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~324^2~432 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=2b38ed9a4f637dd0b451062f74afbf8c7b2468c6;p=emacs.git tar-mode buffer-read-only fix * lisp/tar-mode.el (tar-mode): Fix saving by conditionally undoing `special-mode' setting of `buffer-read-only'. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 37b5ffb19a8..a1e0895396d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-03-16 Aaron S. Hawley + + * tar-mode.el (tar-mode): Fix saving by conditionally undoing + `special-mode' setting of `buffer-read-only'. (Bug#11010) + 2012-03-16 Glenn Morris * view.el (view-buffer, view-buffer-other-window) diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el index 949ac4c0889..3eb2be15698 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el @@ -634,6 +634,9 @@ inside of a tar archive without extracting it and re-archiving it. See also: variables `tar-update-datestamp' and `tar-anal-blocksize'. \\{tar-mode-map}" + (and buffer-file-name + (file-writable-p buffer-file-name) + (setq buffer-read-only nil)) ; undo what `special-mode' did (make-local-variable 'tar-parse-info) (set (make-local-variable 'require-final-newline) nil) ; binary data, dude... (set (make-local-variable 'local-enable-local-variables) nil)